package negocio;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="LVTP_OFICINAS_VENTAS")
public class OficinaDeVentas {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column (name="ID_OFICINA_VENTA")
	private Integer codigo;
	@Column (name="N_OFICINA_VENTA", nullable=false, length=50)
	private String nombre;
	@Column (name="DIRECCION", length=100)
	private String direccion;
	@Column (name="TELEFONO", length=30)
	private String telefono;
	@Column (name="USUARIO", length=30)
	private String usuario;
	@Column (name="PASSWORD", length=30)
	private String password;

	@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
	@org.hibernate.annotations.Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
	@JoinColumn(name="ID_OFICINA_VENTA")
	private Set<Cliente> clientes;

	public OficinaDeVentas()
	{
		this.clientes = new HashSet<Cliente>();
	}
	
	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Set<Cliente> getClientes() {
		return clientes;
	}

	public void setClientes(Set<Cliente> clientes) {
		this.clientes = clientes;
	}
	
	public boolean equals(Object obj)
	{
		if (obj != null && this.getClass().isInstance(obj)){
			OficinaDeVentas tmp = (OficinaDeVentas)obj;
			return codigo.equals(tmp.getCodigo());
		}
		return false;
	}
}
